using System;
using System.Collections.Generic;

using MvcCms.Data;

namespace MvcCmsForum.Data
{
    [Serializable]
    public class DTOAjaxPost : DTOPost
    {
        #region Member Variables

        protected string _addedbyavatarurl;
        protected string _lastpostbyavatarurl;
        protected IEnumerable<Post> _replies;
        protected User _threaduser;
        protected User _replyuser;
        protected IEnumerable<Vote> _votes;
        protected Forum _forum;
        protected Post _threadparentpost;
        protected string _forumPath;
        protected bool _isReply;
        protected string _userName;
        protected int _totalPages;
        protected int _pageNumber;
        protected int _totalItems;
        protected int _pageSize;
        #endregion

        #region Constructors

        #endregion

        #region Public Properties
        public string UserName
        {
            get { return _userName; }
            set { _userName = value; }
        }
        public bool IsReply
        {
            get { return _isReply; }
            set { _isReply = value; }
        }
        public string ForumPath
        {
            get { return _forumPath; }
            set { _forumPath = value; }
        }
        public Forum Forum
        {
            get { return _forum; }
            set { _forum = value; }
        }
        public Post ThreadParentPost
        {
            get { return _threadparentpost; }
            set { _threadparentpost = value; }
        }
        public IEnumerable<Vote> Votes
        {
            get { return _votes; }
            set { _votes = value; }
        }
        public User ThreadUser
        {
            get { return _threaduser; }
            set { _threaduser = value; }
        }
        public User ReplyUser
        {
            get { return _replyuser; }
            set { _replyuser = value; }
        }
        public IEnumerable<Post> Replies
        {
            get { return _replies; }
            set { _replies = value;}
        }

        public string AddedByAvatarUrl
        {
            get { return _addedbyavatarurl; }
            set { _addedbyavatarurl = value; }
        }

        public string LastPostByAvatarUrl
        {
            get { return _lastpostbyavatarurl; }
            set { _lastpostbyavatarurl = value; }
        }

        public int TotalPages
        {
            get { return _totalPages; }
            set { _totalPages = value; }
        }

        public int PageNumber
        {
            get { return _pageNumber; }
            set { _pageNumber = value; }
        }
        public int TotalItems
        {
            get { return _totalItems; }
            set { _totalItems = value; }
        }
        public int PageSize
        {
            get { return _pageSize; }
            set { _pageSize = value; }
        }
        #endregion
    }

}